package com.ruoyi.task.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 任务分析结果明细对象
 *
 * @author huangshibao
 * @date 2025-06-25
 */
@Data
public class TaskDetailExportResult implements Serializable {
    private static final long serialVersionUID = 1L;


    /**
     * 唯一UUID（导数给关联系统）
     */
    @Excel(name = "主键(id)")
    private String id;

    /**
     * 分行编号
     */
    @Excel(name = "分行ID(branch_code)")
    private String branchCode;

    /**
     * 分行名称
     */
    @Excel(name = "分行名称(branch_name)")
    private String branchName;

    /**
     * 支行编号
     */
    @Excel(name = "支行ID(dept_code)")
    private String deptCode;

    /**
     * 支行名称
     */
    @Excel(name = "支行名称(dept_name)")
    private String deptName;

    /**
     * 摄像头名称
     */
    @Excel(name = "摄像头名称(camera_name)")
    private String cameraName;


    /**
     * 场景名称
     */
    @Excel(name = "场景名称(scenarios_name)")
    private String scenariosName;

    /**
     * 风险原因
     */
    @Excel(name = "风险原因(risk_reason)")
    private String riskReason;

    /**
     * 风险开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间(start_time)", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /**
     * 风险结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间(end_time)", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;


    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间(create_time)", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间(update_time)", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("branchCode", getBranchCode())
                .append("branchName", getBranchName())
                .append("deptCode", getDeptCode())
                .append("deptName", getDeptName())
                .append("cameraName", getCameraName())
                .append("scenariosName", getScenariosName())
                .append("riskReason", getRiskReason())
                .append("startTime", getStartTime())
                .append("endTime", getEndTime())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
